2611. Заменить цифру

 

Дано число n, а также цифры a и b. Замените в числе n каждое вхождение цифры a на цифру b.

 

Вход. Три целых числа n (1 ≤ n ≤ 109), a, b (0 ≤ a, b9).

 

Выход. Выведите полученное число после произведенной замены. Ведущие нули выводить не следует.

 

Пример входа

Пример выхода

123118 1 5

523558

 

 

РЕШЕНИЕ

строки

 

Анализ алгоритма

Прочитаем число n как строку, а цифры a и b как символы. Заменим в строке n все вхождения символа a на символ b. Затем выведем полученную строку, удалив ведущие нули. Если итоговая строка состоит только из нулей, следует вывести один ноль.

Отметим, что результирующее число может не помещаться в тип int. Например, если n = 1000000000 (109), a = 1, b = 9, то результатом будет число 9000000000 (9 * 109).

 

Реализация алгоритма

Число n как строку храним в массиве s.

 

char s[100];

 

Читаем число n как строку, числа a и b как символы.

 

scanf("%s %c %c",s,&a,&b);

 

Заменяем в строке s все вхождения символа a на символ b.

 

for (i = 0; i < strlen(s); i++)

  if (s[i] == a) s[i] = b;

 

Преобразуем строку s в число res типа long long.

 

res = atoll(s);

 

Выводим ответ.

 

printf("%lld\n", res);

 

Реализация алгоритма – string

Читаем входные данные: s – строка, a и b – символы.

 

cin >> s >> a >> b;

 

Заменяем в строке s все вхождения символа a на символ b.

 

replace(s.begin(), s.end(), a, b);

 

Преобразуем строку s в число res типа long long.

 

res = stoll(s);

 

Выводим ответ.

 

cout << res << endl;

 

Java реализация

 

import java.util.*;

 

public class Main

{

  public static void main(String[] args)

  {

    Scanner con = new Scanner(System.in);

    String s = con.next();

    char a = con.next().charAt(0);

    char b = con.next().charAt(0);

    s = s.replace(a,b);

 

    int flag = 0;

    for(int i = 0; i < s.length(); i++)

    if (s.charAt(i) != '0')

    {

      s = s.substring(i);

      flag = 1;

      break;

    }

    if (flag == 0) s = "0";

    System.out.println(s);

    con.close();

  }

}

 

Python реализация

Читаем входные данные в виде строк.

 

s, a, b = input().split()

 

Заменяем в строке s все вхождения символа a на символ b.

 

s = s.replace(a, b)

 

Преобразуем строку s в целое число и выводим результат.

 

print(int(s))